<?php
/**
 * @link https://www.kancloud.cn/cleverstone/ymb2
 * @copyright Copyright (c) 2020 Yii Manager Software LLC
 */

namespace builder\table\util;

use builder\table\util\tfilter\Checkbox;
use builder\table\util\tfilter\Date;
use builder\table\util\tfilter\Datetime;
use builder\table\util\tfilter\Month;
use builder\table\util\tfilter\Number;
use builder\table\util\tfilter\Radio;
use builder\table\util\tfilter\Select;
use builder\table\util\tfilter\SelectLayui;
use builder\table\util\tfilter\SelectLink;
use builder\table\util\tfilter\Text;
use builder\table\util\tfilter\Time;
use builder\table\util\tfilter\Year;
use builder\table\HelperInterface;

/**
 * 工具栏筛选助手
 * @author cleverstone
 * @since ym2.0
 */
class ToolbarFilterHelper implements HelperInterface
{
    /**
     * text控件
     * @return Text
     */
    public function text()
    {
        return new Text();
    }

    /**
     * select控件
     * @return Select
     */
    public function select()
    {
        return new Select();
    }

    /**
     * 下拉联动控件
     * @return SelectLink
     */
    public function selectLink()
    {
        return new SelectLink();
    }

    /**
     * number控件
     * @return Number
     */
    public function number()
    {
        return new Number();
    }

    /**
     * datetime控件
     * @return Datetime
     */
    public function datetime()
    {
        return new Datetime();
    }

    /**
     * date控件
     * @return Date
     */
    public function date()
    {
        return new Date();
    }

    /**
     * year控件
     * @return Year
     */
    public function year()
    {
        return new Year();
    }

    /**
     * month控件
     * @return Month
     */
    public function month()
    {
        return new Month();
    }

    /**
     * time控件
     * @return Time
     */
    public function time()
    {
        return new Time();
    }

    /**
     * 多选
     * @return Checkbox
     */
    public function checkbox()
    {
        return new Checkbox();
    }

    /**
     * 单选
     * @return Radio
     */
    public function radio()
    {
        return new Radio();
    }

    /**
     * layui下拉
     * @return SelectLayui
     */
    public function selectLayui()
    {
        return new SelectLayui();
    }
}